package aufgabe_01;

// File WerteArray.java
public class WerteArray {
	private AbstractClass[] speicher; // Referenz auf ein Array, das als

	// Speicher dient

	public WerteArray(int dimensionDesArrays) {
		speicher = new AbstractClass[dimensionDesArrays];
	}

	public void put(int speicherIndex, Messwert wert)
			throws IndexNotValidException {
		try {
			speicher[speicherIndex] = wert;
		} catch (ArrayIndexOutOfBoundsException ex) {
			throw new IndexNotValidException("The index " + speicherIndex
					+ " is not valid");
		}
	}

	public AbstractClass get(int speicherIndex) throws IndexNotValidException {
		try {
			return speicher[speicherIndex];
		} catch (ArrayIndexOutOfBoundsException ex) {
			throw new IndexNotValidException("The index " + speicherIndex
					+ " is not valid");
		}
	}

	public void printArray() {
		for (int i = 0; i < speicher.length; i++) {
			if (speicher[i] == null) {
				System.out.println("leer");
			} else {
				System.out.print("Index: " + i);
				System.out.println(" Inhalt: ");
				((Messwert) speicher[i]).print();
			}
		}
	}
}